home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
comm
/
comm2
/
chkmc201.lha
/
ChkCD.doc
< prev
Wrap
Text File
|
1997-01-07
|
4KB
|
93 lines
ChkCD Aminet CD checker by Gnome.
====================================
Purpose:
Scans an Aminet CD TREE and INDEX & compares with actual dirs & files
on the CD. Reports Directories in TREE which don't exist or are empty.
Reports files in INDEX which don't exist.
Usage: ChkCD [f/?]
f causes report to be also written to ram:CDcheck
? displays purpose & usage of program
Examples: ChkCD shows report on CLI window only
ChkCD f shows report on screen and on file ram:CDcheck
ChkCD ? only shows purpose & usage.
General:
The Aminet CD should be loaded in drive CD0:
The program will look for CD0:aminet/TREE and CD0:aminet/INDEX. If either
of these is not found, the program will abort.
The program first identifies the CD name, and displays this as a heading.
The TREE file is then scanned, and any directory name in this file which
does not exist on the CD will be listed in the output. Also each existing
directory is examined, and if it does not contain an "Index" file, it is
deemed to be an empty directory. (See footnotes 1,2)
The INDEX file is then scanned, and each file listed is checked that it
does exist with the same path & name as in the index. (Footnote 3) During
the index scan, a progress bar window appears with a 'STOP' gadget in it.
The program may be stopped by clicking on the STOP button, or on the close
gadget of the progress window, or by pressing Ctrl-C in the CLI. This will
close (not pause) the program, and any open files wil be closed and
allocations freed.
The program is entirely safe to use, and the only writing it can do is to a
report file in RAM. It has been tested with Enforcer, Codewatcher and
Mungwall.
A scan of Aminet16 took 8.5 minutes on my A4000 with 68040 processor.
------------------------------------------------------------------------
Footnotes:
1. It is common to find non-existent directories in Aminet CDs.
2. Aminet directories have been found always to have an Index file, even
if the directory only holds one archive file.
3. There are several INDEX files on an Aminet CD. The one used is
Aminetnn:aminet/INDEX. The one in the root directory is in guide format.
4. There are cases where a file may be reported as not existing. This
happens when a file name is too long for the field allocated for names
in the Index. Example: "Just_Another_Affai" appears in the index to
Aminet16. This name is not in any CD directory, but
"Just_Another_Affair.lha" does exist. Since the name was chopped, it
cannot be found.
There have also been a few cases on earlier CDs where a name was either
chopped or currupted in the index, or the file was indeed missing.
5. ChkCD does not work on the first Aminet CD (Aminet_0693) because
INDEX and TREE are in a different place on the CD. The 2nd CD
(Aminet_0294) has 1 missing directory and many "missing files".
Credits:
Thanks to Tom Bampton, who wrote 'Progress_Bar', for his useful coding and
example. I have not in fact used this, but I learned a lot from it.
Thanks also to numerous folk who replied to my question in the usenet
newsgroup comp.sys.amiga.programmer, asking "How do I program a progress
bar?" Their information and encouragement contributed to the success of
'ChkCD'.
-------------------------------------------------------------------
John Marchant ('Gnome'). Bedford UK. gnome@mag-net.co.uk
Amiga 4000/40 Fidonet 2:257/137.16
Moonlight (Amiga) BBS. 6pm-8am (ONLY) +44 1234 212752
Fax, Fido freq, Fido netmail accepted during open hours.
-------------------------------------------------------------------